#!/bin/bash

# 定义下载函数
download_rqiner() {
    echo "请选择更新的rqiner 版本:"
    echo "1. rqiner-x86-znver2"
    echo "2. rqiner-x86-znver3"
    echo "3. rqiner-x86-znver4"
    echo "4. rqiner-x86-znver5"
    echo "5. rqiner-x86-broadwell"    
    echo "6. 跳过更新"
    read rqiner_choice

    case $rqiner_choice in
        1)
            echo "正在下载rqiner-x86-znver2..."
            wget -O rqiner-x86-znver2 https://gitee.com/dudu1luchang/dudu/raw/master/rqiner-x86-znver2 && sudo chmod 777 rqiner-x86-znver2
            if [ $? -ne 0 ]; then
                echo "下载失败，请检查网络连接或链接是否正确。"
            fi
            ;;
        2)
            echo "正在下载rqiner-x86-znver3..."
            wget -O rqiner-x86-znver3 https://gitee.com/dudu1luchang/dudu/raw/master/rqiner-x86-znver3 && sudo chmod 777 rqiner-x86-znver3
            if [ $? -ne 0 ]; then
                echo "下载失败，请检查网络连接或链接是否正确。"
            fi
            ;;
        3)
            echo "正在下载rqiner-x86-znver4..."
            wget -O rqiner-x86-znver4 https://gitee.com/dudu1luchang/dudu/raw/master/rqiner-x86-znver4 && sudo chmod 777 rqiner-x86-znver4
            if [ $? -ne 0 ]; then
                echo "下载失败，请检查网络连接或链接是否正确。"
            fi
            ;;
        4)
            echo "正在下载rqiner-x86-znver5..."
            wget -O rqiner-x86-znver5 https://gitee.com/dudu1luchang/dudu/raw/master/rqiner-x86-znver5 && sudo chmod 777 rqiner-x86-znver5
            if [ $? -ne 0 ]; then
                echo "下载失败，请检查网络连接或链接是否正确。"
            fi
            ;; 
        5)
            echo "正在下载rqiner-x86-broadwell..."
            wget -O rqiner-x86-broadwell https://gitee.com/dudu1luchang/dudu/raw/master/rqiner-x86-broadwell && sudo chmod 777 rqiner-x86-broadwell
            if [ $? -ne 0 ]; then
                echo "下载失败，请检查网络连接或链接是否正确。"
            fi
            ;;
           
        6)
            echo "跳过 rqiner 更新"
            ;;            
        *)
            echo "无效选择"
            ;;
    esac
}

download_xmrig() {
    echo "是否更新 xmrig?"
    echo "1. 更新"
    echo "2. 跳过更新"
    read xmrig_choice

    case $xmrig_choice in
        1)
            echo "正在下载xmrig..."
            wget -O xmrig https://gitee.com/dudu1luchang/dudu/raw/master/xmrig && sudo chmod 777 xmrig
            if [ $? -ne 0 ]; then
                echo "下载失败，请检查网络连接或链接是否正确。"
            fi
            ;;
        2)
            echo "跳过 xmrig 更新"
            ;;            
        *)
            echo "无效选择"
            ;;
    esac
}

# 主菜单循环
while true; do
    # 显示菜单
    echo "rqiner+zeph，请选择一个操作:"
    echo "第一次使用请先更新锄头，再配置文档之后启动挖矿..."
    echo "有问题请联系：du.叫兽（微信号duduyiluchang）"
    echo " "
    echo "1. 更新锄头"
    echo "2. 配置文档"
    echo "3. 查看配置"
    echo "4. 启动挖矿"
    echo "5. 停止挖矿"
    echo "6. 查看日志"
    echo "0. 退出脚本"

    # 获取用户选择
    read choice

    case $choice in
        1)
            # 更新 rqiner 和 xmrig
            download_rqiner
            download_xmrig
            ;;
        2)
            echo "配置文档..."
            # 获取 rqiner 的版本
            echo "选择 rqiner 的版本:"
            echo "1. rqiner-x86-znver2"
            echo "2. rqiner-x86-znver3"
            echo "3. rqiner-x86-znver4"
            echo "4. rqiner-x86-znver5"
            echo "5. rqiner-x86-broadwell"
            echo "请输入版本号，直接回车选择默认值 [默认: rqiner-x86-znver2]:"
            read choice

            # 根据用户选择设置对应的版本
            case $choice in
            1)
                rqiner="rqiner-x86-znver2"
                ;;
            2)
                rqiner="rqiner-x86-znver3"
                ;;
            3)
                rqiner="rqiner-x86-znver4"
                ;;
            4)
                rqiner="rqiner-x86-znver5"
                ;;         
            5)
                rqiner="rqiner-x86-broadwell"
                ;;
            "")
                # 默认选择
                rqiner="rqiner-x86-znver2"
                ;;
            *)
                echo "无效选择，选择默认版本 rqiner-x86-znver2"
                rqiner="rqiner-x86-znver2"
                ;;
            esac

            # 显示选择的版本
            echo "您选择的 rqiner 版本是: $rqiner"

            # 获取 rqiner 的线程数
            echo "rqiner的线程数 [默认: 1]:"
            read rqiner_threads
            rqiner_threads=${rqiner_threads:-1}

            # 获取 qubic 钱包地址
            echo "请输入qubic钱包地址:"
            read rqiner_address
            rqiner_address=${rqiner_address:-FSTYNHZUIIZBGFSZTWAAFOSXPHOCVIMAQRZCJAAPKHTOXADFQNLXATIBPCNO}

            # 获取矿机名称（默认值：dudu）
            echo "请输入矿机名称 [默认: dudu]:"
            read miner_name
            miner_name=${miner_name:-dudu}

            # 获取 zeph 池子地址（默认值：www.duduyiluchang.store:1123）
            echo "zeph池子地址（默认为www.duduyiluchang.store:1123）:"
            read zeph_pool
            zeph_pool=${zeph_pool:-www.duduyiluchang.store:1123}
            
            # 获取 zeph 钱包地址
            echo "请输入zeph钱包地址:"
            read zeph_address
            zeph_address=${zeph_address:-ZEPHs95zw4Thmw3kDm1opBa5sWFCb5GgRG4UPmYcAsx5NC4mFsq3RBLDUj6X6tzDncZqcJyoSEeQvjSDe75D85dhV1SNyijsdmH}

            # 获取 zeph 线程数（默认值：0）
            echo "请输入zeph线程数 [默认: 0]:"
            read threads
            threads=${threads:-0}

            # 创建 zeph.conf 文件并写入配置
            echo "rqiner=$rqiner" > rqiner_zeph.conf
            echo "rqiner_threads=$rqiner_threads" >> rqiner_zeph.conf
            echo "miner_name=$miner_name" >> rqiner_zeph.conf
            echo "threads=$threads" >> rqiner_zeph.conf
            echo "rqiner_address=$rqiner_address" >> rqiner_zeph.conf
            echo "zeph_address=$zeph_address" >> rqiner_zeph.conf
            echo "zeph_pool=$zeph_pool" >> rqiner_zeph.conf

            # 提示配置完成
            echo "配置文档已经完成，请稍等..."

            # 下载新的脚本文件
            wget -O rqiner_zeph.sh https://gitee.com/dudu1luchang/dudu/raw/master/rqiner_zeph.sh && sudo chmod 777 rqiner_zeph.sh
            ;;            
        3)
            echo "查看配置..."
            # 在这里添加查看配置的代码
            if [ -f "rqiner_zeph.conf" ]; then
                cat rqiner_zeph.conf
                echo ""
                echo ""
                echo ""
                echo ""
                echo ""
            else
                echo "配置文件 rqiner_zeph.conf 不存在，请先运行配置文档。"
            fi
            ;;
        4)
            echo "启动挖矿..."
            # 在这里添加启动挖矿的代码
            if [ -f "rqiner_zeph.sh" ]; then
                # 在后台运行并且不记录日志
                nohup bash rqiner_zeph.sh &>/dev/null &
                echo "脚本已在后台运行。"
            else
                echo "脚本 rqiner_zeph.sh 不存在，请先运行配置文档。"
            fi
            ;;
        5)
            echo "停止挖矿..."
            # 在这里添加停止挖矿的代码
            echo "正在停止挖矿..."
            pkill -f "rqiner_zeph.sh"
            echo "挖矿已停止。"
            ;;
        6)
    # 检查是否存在至少一个日志文件
    if [ -f "qubic.log" ] || [ -f "xmrig.log" ]; then
        echo "正在查看日志，按 q 退出查看并返回菜单..."
        sleep 1

        # 如果 qubic.log 存在，则查看 qubic.log
        if [ -f "qubic.log" ]; then
            tail -f qubic.log &   # 通过后台进程查看 qubic.log
            tail_pid_qubic=$!     # 获取后台进程的PID
        fi

        # 如果 xmrig.log 存在，则查看 xmrig.log
        if [ -f "xmrig.log" ]; then
            tail -f xmrig.log &   # 通过后台进程查看 xmrig.log
            tail_pid_xmrig=$!     # 获取后台进程的PID
        fi

        while true; do
            # 监听用户输入，1秒钟检查一次
            read -t 1 -n 1 input
            if [[ "$input" == "q" ]]; then
                echo "退出日志查看，返回菜单..."
                # 结束 tail -f 进程
                if [ -n "$tail_pid_qubic" ]; then
                    kill $tail_pid_qubic   # 结束 tail -f qubic.log 进程
                fi
                if [ -n "$tail_pid_xmrig" ]; then
                    kill $tail_pid_xmrig   # 结束 tail -f xmrig.log 进程
                fi
                break
            fi
        done
    else
        echo "日志文件 qubic.log 或 xmrig.log 不存在，请先启动挖矿。"
        echo "当前目录下的文件:"
        ls -l
    fi
    ;;

        0)
            echo "退出脚本"
            exit 0
            ;;
        *)
            echo "无效选择"
            ;;
    esac
done
